﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace MotoGame.Estados.Menu
{
    class Botao : Sprite
    {
        animacao selecionando;
        animacao parado;
        animacao animacao_atual;
        string nome;

        public Botao(ContentManager Content, string Textura)
            :base(Content.Load<Texture2D>(Textura))
        {
            nome = Textura;

            if (Textura == "botoes/play")
            {
                posicao = new Vector2(300, 100);
            }

            if (Textura == "botoes/sair")
            {
                posicao = new Vector2(300, 300);
            }

            if (Textura == "botoes/creditos")
            {
                posicao = new Vector2(300, 200);
            }

            if (Textura == "botoes/voltar")
            {
                posicao = new Vector2(600, 400);
            }

            selecionando = new animacao();
            selecionando.quadro_X = 200;
            selecionando.quadro_Y = 91;
            selecionando.qtd_quadros = 2;
            selecionando.quadros_seg = 0;
            selecionando.Y = 92;

            parado = new animacao();
            parado.quadro_X = 200;
            parado.quadro_Y = 91;
            parado.qtd_quadros = 2;
            parado.quadros_seg = 0;
            parado.Y = 0;

            animacao_atual = parado;
        }

        public override void Update(GameTime gameTime)
        {
            Game1.mouse_atual = Mouse.GetState();


            if ((Game1.mouse_atual.X >= posicao.X && Game1.mouse_atual.X <= posicao.X + textura.Width) && (Game1.mouse_atual.Y >= posicao.Y && Game1.mouse_atual.Y <= posicao.Y + textura.Height / 2))
            {
                animacao_atual = selecionando;

                if (Game1.mouse_atual.LeftButton == ButtonState.Pressed)
                {

                    if (nome == "botoes/sair")
                    {
                        Game1.sair = true;
                    }

                    if (nome == "botoes/creditos")
                    {
                        Game1.estado_atual = Game1.Estado.CREDITOS;
                    }

                    if (nome == "botoes/play")
                    {
                        Game1.estado_atual = Game1.Estado.JOGO;
                    }

                    if (nome == "botoes/voltar")
                    {
                        Game1.estado_atual = Game1.Estado.MENU;
                    }

                }

            }

            else
            {
                animacao_atual = parado;
            }
        }
        public void Draw(GameTime gameTime, SpriteBatch spriteBatch)
        {

            this.Draw(gameTime, spriteBatch, animacao_atual);       
        }

       
    }
}
